package grafo;

import java.awt.Color;

public class Nodo {
	private int x, y, numero;
	private String nombre;
	private Color color;
	
	public Nodo(int x, int y, String s, int n){
		this.x = x;
		this.y = y;
		nombre = s;
		numero = n;
		color = Color.MAGENTA;		
	}
	
//	public boolean igual(Object o) {
//		if (o == this) return true;
//	    if (!(o instanceof Nodo)) return false;
//	    Nodo n = (Nodo) o;
//	    return (x-10<= n.getX() && (x+10)>=n.getX() && y-10<=n.getY() && (y+10)>=n.getY());
//	}
	
	public boolean equals(Object o) {
		if (o == this) return true;
	    if (!(o instanceof Nodo)) return false;
	    Nodo n = (Nodo) o;
	    return (x-10<= n.getX() && (x+10)>=n.getX() && y-10<=n.getY() && (y+10)>=n.getY());
	}
	
	public int hashCode(){
//		int hash = 1;
//		hash = 31 * hash + x;
//		hash = 31 * hash + y;
//		return hash;
		return x * 31 + y;
	}
	
	public Nodo clone(){
		return new Nodo(x, y, nombre, numero);
	}
	
	public int getX() {
		return x;
	}
	
	public void setX(int x) {
		this.x = x;
	}
	
	public String getNombre() {
		return nombre;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public int getY() {
		return y;
	}
	
	public void setY(int y) {
		this.y = y;
	}
	
	public int getNumero(){
		return numero;
	}

	public void setColor(Color c) {
		color = c;		
	}

	public Color getColor() {
		return color;
	}
}
